﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>

//int main()
//{
//	int ret = 6 % 4;
//	printf("%d\n", ret);//运算符 % 表⽰求模运算，即返回两个整数相除的余值。这个运算符只能⽤于整数，不能⽤于浮点数。
//	return 0;
//}
//int main()
//{
//	printf("%d\n", 11 % -5);//1
//	printf("%d\n", -11 % -5);//-1
//	printf("%d\n", -11 % 5);//-1
//	return 0;

//int main()
//{
//	int a = 3;
//	int b = 5;
//	int c = 0;
//	b = a + 3;//连续赋值，从右向左依次赋值的
//	c = b;
//	printf("%d %d\n", b, c);
//	return 0;
//}

//int main()
//{
//	int a = 5;
//	printf("%d\n", a);//5
//	a += 3;//复合赋值
//	printf("%d\n", a);//8
//	return 0;
//}
//int main()
//{
//	int a = 10;
//	int b = ++a;//前置++  先+1，后使⽤
//	printf("a = %d\n", a);//11
//	printf("b = %d\n", b);//11
//	return 0;
//}

//int main()
//{
//	int a = 10;
//	int b = a++;//后置++  先使⽤，后+1
//	printf("a = %d\n", a);//11
//	printf("b = %d\n", b);//10
//	return 0;
//}

//int main()
//{
//	printf("there are %d apples\n", 3);
//	printf("%s will come tonight\n", "king");
//	printf("%s will come tonight\n", "大哥");
//	printf("%s 说：现在是 %d 点\n", "大哥",21);
//	//printf() 参数与占位符是⼀⼀对应关系，如果有 n 个占位符， printf() 的参数就应该有 n + 1 个。
//	//如果参数个数少于对应的占位符， printf() 可能会输出内存中的任意值。
//	return 0;
//}

//int main()
//{
//	printf("%5d\n", 123);//默认右对齐
//	printf("%5d\n", 1234567);//限定  最小宽度
//	printf("%-5dhehe\n", 123);//左对齐
//	return 0;
//}


//int main()
//{
//	printf("%12f\n", 123.45);//%f打印小数点后六位，小数点也算一位
//	return 0;
//}

//int main()
//{
//	printf("%+d\n", 10); // 输出 +10
//	printf("%+d\n", -10); // 输出 -10 
//	return 0;
//}

//int main()
//{
//	printf("Number is %.2f\n", 5.268);//输出⼩数时，有时希望限定⼩数的位数。
//	//举例来说，希望⼩数点后⾯只保留两位，占位符可以写成 % .2f
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	printf("%6.2f\n", 123456.5);//上⾯⽰例中， %6.2f 表⽰输出字符串最⼩宽度为6，⼩数位数为2。
// 所以，输出字符串的头部有两个空格。
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	printf("%*.*f\n", 6, 2, 0.5);
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	printf("%.6s\n", "hello world");//%s 占位符⽤来输出字符串，默认是全部输出。
//	//如果只想输出开头的部分，可以⽤ %.[m]s 指定输出的⻓度，其中[m] 代表⼀个数字，表⽰所要输出的⻓度
//	return 0;
//}

//int main()
//{
//	int score = 0;
//	printf("请输入成绩：");
//	scanf("%d", &score);
//	printf("成绩是：%d\n",score);
//	return 0;
//}

//int main()
//{
//	int i = 0;
//	int j = 0;
//	float x = 0.0f;
//	float y = 0.0f;
//	scanf("%d%d%f%f", &i, &j, &x, &y);
//	printf("i = %d\n", i);
//	printf("j = %d\n", j);
//	printf("x = %f\n", x);
//	printf("y = %f\n", y);
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	int x;
//	float y;
//
//	// ⽤户输⼊ " -13.45e12# 0" 
//	scanf("%d", &x);
//	printf("%d\n", x);
//	scanf("%f", &y);
//	printf("%f\n", y);
//	return 0;
//}

//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	//EOF;//-1
//	int ret = scanf("%d%d%d", &a, &b, &c);
//	printf("ret = %d\n", ret);
//	printf("a =%d b =%d c =%d", a, b, c);
//	return 0;
//}

//多组输入
//int main()
//{
//	int a = 0;
//	int b = 0;
//	/*while(scanf("%d %d", &a, &b)== 2)
//	{
//		int c = a + b;
//		printf("%d\n", c);
//	}*/
//	while (scanf("%d %d", &a, &b) != EOF)
//	{
//		int c = a + b;
//		printf("%d\n", c);
//	}
//	return 0;
//}
//除了 %c 以外，都会⾃动忽略起⾸的空⽩字符。 %c 不忽略空⽩字符，总是返
//回当前第⼀个字符，⽆论该字符是否为空格。
// 如果要强制跳过字符前的空⽩字符，可以写成 scanf(" %c", &ch) ，即% c 前加上⼀个空格，表
//⽰跳过零个或多个空⽩字符。

//特别说⼀下占位符 %s ，它其实不能简单地等同于字符串。它的规则是，从当前第⼀个⾮空⽩
//字符开始读起，直到遇到空⽩字符（即空格、换⾏符、制表符等）为⽌。
//为了防⽌这种情况，使⽤ %s 占位符时，应该指定
//读⼊字符串的最⻓⻓度，即写成% [m]s ，其中的[m] 是⼀个整数，表⽰读取字符串的最⼤⻓度，后
//⾯的字符将被丢弃。

#include <stdio.h>
int main()
{
	int year = 0;
	int month = 0;
	int day = 0;
	//scanf("%d-%d-%d", &year, &month, &day);
	scanf("%d%*c%d%*c%d", &year, &month, &day);
	printf("%d %d %d\n", year, month, day);
	return 0;
}